--AGG配置
local readPointer = function(name, offset, i)
	local re = gg.getRangesList(name)
	local x64 = gg.getTargetInfo().x64
	local va = {[true] = 32, [false] = 4}
	if re[i or 1] then
		local addr = re[i or 1].start + offset[1]
		for i = 2, #offset do
			addr = gg.getValues({{address = addr, flags = va[x64]}})
			if not x64 then
				addr[1].value = addr[1].value & 0xFFFFFFFFFFFF
			end
			addr = addr[1].value + offset[i]
		end
		return addr
	end
end
function ZH(value)
    return string.format('%X', value)
end

function setvalues(address,flags,value)
gg.setValues({{address = address,flags = flags,value = value}}) 
end

function setvoid(address)
local il2cpp=gg.getRangesList("libil2cpp.so")
 for y=1, 5 do
 db=il2cpp[y]['start']
if BaVal(db+0x3f4bd04,4) == "-702611392" then
gg.setValues({{address = db+address,flags = 4,value = '~A8 RET'}})
break
end
end
end
function xqmnb(Search,Modification)
   gg.clearResults()
   gg.setRanges(Search[1].memory)
   gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
   if gg.getResultCount()==0 then
      gg.toast(Search[2].name..'开启失败')
      return
   end
   local Result=gg.getResults(gg.getResultCount())
   local sum
   for index=4,#Search do
      sum=0
      for i=1,#Result do
         if gg.getValues({{address=Result[i].address+Search[index].offset,flags=Search[index].type}})[1].value~=Search[index].lv then
            Result[i].Usable=true
            sum=sum+1
         end
      end
      if sum==#Result then
         gg.toast(Search[2].name..'开启失败')
         return
      end
   end
   local Data,Freeze,Freezes={},{},0
   sum=0
   for index,value in ipairs(Modification)do
      for index=1,#Result do
         if not Result[index].Usable then
            local Value={address=Result[index].address+value.offset,flags=value.type,value=value.value,freeze=true}
            if value.freeze then
               Freeze[#Freeze+1]=Value
               Freezes=Freezes+1
            else
               Data[#Data+1]=Value
            end
            sum=sum+1
         end
      end
   end
      gg.setValues(Data)
      gg.addListItems(Freeze)
   if Freezes==0 then
      gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据')
   else
      gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据')
   end
   gg.clearResults()
end
function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function BaVal(add, type) return gg.getValues({[1] = {address = add, flags = type}})[1]['value'] end function BaAdd(add) return gg.getValues({[1] = {address = add, flags = 32}})[1]['value'] & 0xFFFFFFFFFFFFFFFF end 
CA_PY,O_PY=1615136,1293872
function geta(add) return gg.getValues({{address=add,flags=32}})[1].value end function getv(add,fla) if fla==nil then fla=4 end return gg.getValues({{address=add,flags=fla}})[1].value end function setv(add,v,f) if f==nil then f=4 end gg.setValues({{address=add,value=v,flags=f}}) end function addv(add,f) if f==nil then f=4 end gg.addListItems({{address=add,flags=f}}) end function jzdw(tt) cs=gg.getRangesList('libGameCore.so:bss')[1]['start'] for i=1,#tt do cs=geta(cs+tt[i]) end return cs end function tzz(tt) cs=0 for i=1,#tt do cs=geta(cs+tt[i]) end return cs end
JN_JZ=jzdw({O_PY,76*8,0x30})
JN_SL=getv(JN_JZ+0x18)
JN_PY=getv(JN_JZ+0x14)
Tab_1,Tab_LM1,Tab_LM2,Tab_JN={},{},{},{}
for i=0,JN_SL-1 do
table.insert(Tab_1, {address=JN_JZ+0X98+i*JN_PY,flags=4})
table.insert(Tab_LM1, {address=JN_JZ+0X98+i*JN_PY+0xc0,flags=4})
table.insert(Tab_LM2, {address=JN_JZ+0X98+i*JN_PY+0xc4,flags=4})
end
Tab_LM1,Tab_LM2=gg.getValues(Tab_LM1),gg.getValues(Tab_LM2)
for i, v in pairs(gg.getValues(Tab_1)) do
Tab_JN[v.value]={Tab_LM1[i]['value'],Tab_LM2[i]['value']}
end

function OJX_Str(Tab_OXG)
Sta_Add=gg.getRangesList('libGameCore.so:bss')[1]['start']+O_PY
Sta_Num=getv(Sta_Add+0x1C)
Sen_Add=geta(Sta_Add)
Tab_1,Tab_N,Tab_A,Tab_P={},{},{},{},{}
for i=0,Sta_Num-1 do
table.insert(Tab_1, {address=Sen_Add+i*8,flags=32})
end
for i, v in pairs(gg.getValues(Tab_1)) do
table.insert(Tab_N, {address=v.value+8,flags=4})
table.insert(Tab_A, {address=v.value+0x10,flags=32})
table.insert(Tab_P, {address=v.value+0x30,flags=32})
end
Tab_N,Tab_A,Tab_P=gg.getValues(Tab_N),gg.getValues(Tab_A),gg.getValues(Tab_P)
Tab_Sta,Tab_Num,Tab_PY={},{},{}
Tab_S={}
for i, v in pairs(Tab_A) do
table.insert(Tab_PY, {address=Tab_P[i]['value']+0x14,flags=4})
table.insert(Tab_Num, {address=Tab_P[i]['value']+0x18,flags=4})
for n=0,Tab_N[i]['value']-1 do
table.insert(Tab_S, {address=v.value+n,flags=1})
end
end
Tab_s,Tab_Num,Tab_PY={},gg.getValues(Tab_Num),gg.getValues(Tab_PY)
for i, v in pairs(gg.getValues(Tab_S)) do
table.insert(Tab_s, v.value)
end
Str=string.char(table.unpack(Tab_s))
Tab_O,Num={},0
for fieldName in Str:gmatch("Databin/(.-)%.bytes") do
Num=Num+1
 Tab_O[fieldName]={Start=Tab_P[Num]['value']+0x98,End=Tab_P[Num]['value']+0x98+Tab_PY[Num]['value']*Tab_Num[Num]['value'],Offset=Tab_PY[Num]['value'],Number=Tab_Num[Num]['value']}
end
--print(Tab_O)
function ODW2(V,sta,py,num)
if Tab_OW==nil then Tab_OW={} end
if Tab_OW[sta]==nil then
Tab_OW[sta]={}
for n=0,num-1 do
table.insert(Tab_OW[sta], {address=py*n+sta,flags=4})
end
Tab_OW[sta]=gg.getValues(Tab_OW[sta])
end
for i, v in pairs(Tab_OW[sta]) do
if V==v.value then
return v.address
end
end
end
Tab_XG={}
for i, v in pairs(Tab_OXG) do
for m, t in pairs(v) do
for n, T in pairs(t) do
table.insert(Tab_XG,{address=ODW2(m,Tab_O[i]['Start'],Tab_O[i]['Offset'],Tab_O[i]['Number'])+T['d'],flags=T['f'],value=T['v']})
end
end
end
gg.setValues(Tab_XG)
gg.addListItems(Tab_XG)
gg.alert('成功修改>>'..#Tab_XG..'个数值')
end
function CAJX(CA_Tab) CAJZ=jzdw({CA_PY,0x4D8}) SL=getv(jzdw({CA_PY})+0x4d8+0x1c) Tab_1,Tab_2,Tab_3,Tab_4,Tab_5,Tab_6,Tab_CA={},{},{},{},{},{},{} for i=0,SL-1 do table.insert(Tab_1, {address=CAJZ+i*0x18,flags=32}) end for a,b in pairs(gg.getValues(Tab_1)) do for i=0,400 do table.insert(Tab_2, {address=b.value+0x10+i*0x34,flags=32}) end end for a,b in pairs(gg.getValues(Tab_2)) do  table.insert(Tab_3, {address=b.value+0x10,flags=32})  end for a,b in pairs(gg.getValues(Tab_3)) do table.insert(Tab_4, {address=b.value+0x10,flags=4}) table.insert(Tab_5, {address=b.value+0x14,flags=4}) table.insert(Tab_6, {address=b.value+0x20,flags=32}) end Tab_4,Tab_5,Tab_6=gg.getValues(Tab_4),gg.getValues(Tab_5),gg.getValues(Tab_6) local Tab_T={} for a,b in pairs(Tab_6) do if Tab_CA[Tab_4[a].value..';'..Tab_5[a].value]==nil then Tab_CA[Tab_4[a].value..';'..Tab_5[a].value]=b.value Tab_T[Tab_4[a].value..';'..Tab_5[a].value]=b.address end end local Tab_8={} for i1,v1 in pairs(CA_Tab) do for i2,v2 in pairs(v1) do for i3,v3 in pairs(v2) do for i4,v4 in pairs(v3) do for a,b in pairs(Tab_CA) do if i1==a then table.insert(Tab_8, {address=tzz({b+(i2-1)*8,0x28,0})+v4['d'],flags=v4['f'],value=v4['v'],freeze=false}) break end end end end end end if #Tab_8>0 then gg.setValues(Tab_8 )  gg.addListItems(Tab_8)gg.alert('成功修改>>'..#Tab_8..'个值') end end 
function QJX(M)
for i , v in pairs(M) do
if Tab_CA[v.DZ] and Tab_CA[v.XGDZ] then
xgsz=tzz({Tab_CA[v.XGDZ],8*(v.XGCS-1),0x28,0})
setv(tzz({Tab_CA[v.DZ],8*(v.DZCS-1),0x28}),xgsz,32)
end
end
end
CA_OLD = jzdw({CA_PY})+0x4D8
CAJZ=geta(CA_OLD)
CA_SL=getv(CA_OLD+0x1C)
LM_TZ=getv(jzdw({CA_PY,0x4D8,0,0x10,0x10}))
Tab_1,Tab_2,Tab_3,Tab_4,Tab_5,Tab_6,Tab_7,Tab_8,Tab_9,Tab_CA={},{},{},{},{},{},{},{},{},{}
for i=0,CA_SL-1 do
    table.insert(Tab_1, {address=CAJZ+i*0x18,flags=32})
end
for i, v in pairs(gg.getValues(Tab_1)) do
for i_=0,400 do
table.insert(Tab_2, {address=v.value+i_*0x34,flags=4})
table.insert(Tab_3, {address=v.value+i_*0x34+4,flags=4})
table.insert(Tab_4, {address=v.value+i_*0x34+0x10,flags=32})
end
end
Tab_2,Tab_3,Tab_4=gg.getValues(Tab_2),gg.getValues(Tab_3),gg.getValues(Tab_4)
for i, v in pairs(Tab_4) do
table.insert(Tab_5, {address=v.value+0x10,flags=32})
end
for i, v in pairs(gg.getValues(Tab_5)) do
table.insert(Tab_9, {address=v.value,flags=4})
table.insert(Tab_6, {address=v.value+0x10,flags=4})
table.insert(Tab_7, {address=v.value+0x14,flags=4})
table.insert(Tab_8, {address=v.value+0x20,flags=32})
end
Tab_6,Tab_7,Tab_8=gg.getValues(Tab_6),gg.getValues(Tab_7),gg.getValues(Tab_8)
for i,v in pairs(gg.getValues(Tab_9)) do
if v.value==LM_TZ then
--Tab_CA[Tab_2[i]['value']..';'..Tab_3[i]['value']]=Tab_8[i]['address']
Tab_CA[Tab_6[i]['value']..';'..Tab_7[i]['value']]=Tab_8[i]['address']
end
end


function setvalue(address, flags, value, freeze) local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value tt[1].freeze = freeze gg.addListItems(tt) --gg.clearList()
end
function BaVal(add, type)
    return gg.getValues({[1] = {address = add, flags = type}})[1]['value']
end
function BaAdd(add)
    return gg.getValues({[1] = {address = add, flags = 32}})[1]['value'] & 0xFFFFFFFFFFFF
end

function jnlist()
local Add_Start = gg.getRangesList('libGameCore.so:bss')[1]['start'] + 0x13ED88
local Add_val = BaVal(Add_Start + 0x1C, 4)
local Add_Go = BaAdd(Add_Start) + 8
local OpenTable = {}
local Skill_table, Adds_table = {}, {}
jnscr = {}
for I = 0, Add_val - 1 do
jnscr[#jnscr +1] = {
	address = Add_Go + I * 16, flags = 32
}
end
jnscr = gg.getValues(jnscr)
for _, v in ipairs(jnscr) do
v.address = v.value
end
Skilllist = gg.getValues(jnscr)
end
jnlist()

function 技能获取(effect, offset)
for i,v in pairs(Skilllist) do
if v.value == effect then jnadddz = v.address+offset break end
end
return BaVal(jnadddz,4)
end

function xglist() --加载技能效果列表
--////////////////////////////////////////////////////--
local Add_Start = gg.getRangesList('libGameCore.so:bss')[1]['start'] + 0x13F768 
local AddSt = gg.getValues({{
	address = Add_Start,flags = 32
}, {
	address = Add_Start+0x1C,flags = 4
}}) 
xg_tab = {{
	address = AddSt[1]['value']&0xFFFFFFFFFFFFFFFF,flags = 4
}}
for i = 1, AddSt[2]['value'] do
xg_tab[i] = xg_tab[i] or {
	address = xg_tab[i-1]['address']+16,flags = 4
}
end
xg_tab = gg.getValues(xg_tab)
end
xglist()
function 效果获取(effect, offset)
for i,v in pairs(xg_tab) do
if v.value == effect then xgadddz = v.address+8 break end
end
return BaVal(BaAdd(xgadddz)+offset,4)
end


--装备属性表格
markTab = 
{
{36,'购买价格'},
{64,'秒后可购买[×1000]'},
{68,'出售价格'},
{96,'物理攻击'},
{100,'攻击速度[×100]'},
{104,'暴击率[×100]'},
{108,'物理吸血[×100]'},
{112,'法术攻击'},
{116,'冷却缩减[×100]'},
{120,'最大法力'},
{124,'每5秒回蓝'},
{128,'物理防御'},
{132,'法术防御'},
{136,'最大生命'},
{140,'每5秒回血'},
{144,'移速[×100]'},
{148,'普攻强度'},
{160,'被动技能1'},
{192,'被动技能2'},
{208,'被动技能3'},
{224,'被动技能4'},
{288,'技能效果1'},
{304,'技能效果2'},
{320,'技能效果3'},
{336,'技能效果4'},
{352,'主动技能'},
{356,'技能位置'},
{360,'共用冷却'}
} 

function 武魂真身()
wb=gg.prompt({'输入武魂大小\n推荐1200'},nil,{'number'})

if wb then
T={ -- table(7c9550)
	[ 1] = { -- table(66a2349)
		['address'] = 0x71ebca5e88,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = '[4] >> TriggerMutiMatsTick�',
		['value'] = -1644003520,
	},
	[ 2] = { -- table(567744e)
		['address'] = 0x71ebca5ed0,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'VInt3  offsetModel //0x48',
		['value'] = 0,
	},
	[ 3] = { -- table(4d0796f)
		['address'] = 0x71ebca5ed4,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'VInt3  offsetModel //0x4C',
		['value'] = -100,
	},
	[ 4] = { -- table(c9db67c)
		['address'] = 0x71ebca5ed8,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'VInt3  offsetModel //0x50',
		['value'] = -120,
	},
	[ 5] = { -- table(ca8ab05)
		['address'] = 0x71ebca5edc,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'VInt3  mainColor //0x54',
		['value'] = 0,
	},
	[ 6] = { -- table(2ca875a)
		['address'] = 0x71ebca5ee0,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'VInt3  mainColor //0x58',
		['value'] = 0,
	},
	[ 7] = { -- table(f153d8b)
		['address'] = 0x71ebca5ee4,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'VInt3  mainColor //0x5C',
		['value'] = 0,
	},
	[ 8] = { -- table(94dbe68)
		['address'] = 0x71ebca5ee8,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  srcId //0x60',
		['value'] = 0,
	},
	[ 9] = { -- table(28df281)
		['address'] = 0x71ebca5eec,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  scale //0x64',
		['value'] = wb[1],
	},
	[10] = { -- table(719bf26)
		['address'] = 0x71ebca5ef0,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  fnlArea //0x68',
		['value'] = -20,
	},
	[11] = { -- table(b982767)
		['address'] = 0x71ebca5ef4,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  fnlScale //0x6C',
		['value'] = 1700,
	},
	[12] = { -- table(c745914)
		['address'] = 0x71ebca5ef8,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  dissolveLowBodyHeight //0x70',
		['value'] = 400,
	},
	[13] = { -- table(a2635bd)
		['address'] = 0x71ebca5efc,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  dissolveMaxHeight //0x74',
		['value'] = 2000,
	},
	[14] = { -- table(3d2a7b2)
		['address'] = 0x71ebca5f00,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  delayFollowTime //0x78',
		['value'] = 40,
	},
	[15] = { -- table(575d303)
		['address'] = 0x71ebca5f04,
		['flags'] = 4, -- gg.TYPE_DWORD
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'int32  modelMidY //0x7C',
		['value'] = 9000,
	},
	[16] = { -- table(c7f280)
		['address'] = 0x71ebca5f08,
		['flags'] = 1, -- gg.TYPE_BYTE
		['freeze'] = false,
		['freezeType'] = 0, -- gg.FREEZE_NORMAL
		['name'] = 'bool  bOpen //0x80',
		['value'] = 1,
	},
}


t={ -- table(53a717b)
	['Ca'] = { -- table(897fb98)
		['-868514831;-790132986'] = { -- table(6ee9ff1)
			[3] = { -- table(716a5b0)
				[1] = { -- table(1405c29)
					[1] = { -- table(531ebae)
						['d'] = 0,
						['f'] = 4,
						['v'] = -1644104320,
					},
				},
			},
		},
	},
}
a=gg.getRangesList('libGameCore.so:bss')[1]['start']+0x16A528
function geta(add) return gg.getValues({{address=add,flags=32}})[1].value end function getv(add,fla) if fla==nil then fla=4 end return gg.getValues({{address=add,flags=fla}})[1].value end function setv(add,v,f) if f==nil then f=4 end gg.setValues({{address=add,value=v,flags=f}}) end function addv(add,f) if f==nil then f=4 end gg.addListItems({{address=add,flags=f}}) end function jzdw(tt) cs=gg.getRangesList('libGameCore.so:bss')[1]['start'] for i=1,#tt do cs=geta(cs+tt[i]) end return cs end function tzz(tt) cs=0 for i=1,#tt do cs=geta(cs+tt[i]) end return cs end

CA_PY,O_PY=1615136,1293872
CA_OLD = jzdw({CA_PY})+0x4D8
CAJZ=geta(CA_OLD)
CA_SL=getv(CA_OLD+0x1C)
Tab_1,Tab_2,Tab_3,Tab_4,Tab_5,Tab_6,Tab_7,Tab_8,Tab_CA={},{},{},{},{},{},{},{},{}
for i=0,CA_SL-1 do
    table.insert(Tab_1, {address=CAJZ+i*0x18,flags=32})
end
for i, v in pairs(gg.getValues(Tab_1)) do
for i_=0,400 do
table.insert(Tab_2, {address=v.value+i_*0x34,flags=4})
table.insert(Tab_3, {address=v.value+i_*0x34+4,flags=4})
table.insert(Tab_4, {address=v.value+i_*0x34+0x10,flags=32})
end
end
Tab_2,Tab_3,Tab_4=gg.getValues(Tab_2),gg.getValues(Tab_3),gg.getValues(Tab_4)
for i, v in pairs(Tab_4) do
table.insert(Tab_5, {address=v.value+0x10,flags=32})
end
for i, v in pairs(gg.getValues(Tab_5)) do
table.insert(Tab_6, {address=v.value+0x10,flags=4})
table.insert(Tab_7, {address=v.value+0x14,flags=4})
table.insert(Tab_8, {address=v.value+0x20,flags=32})
end
Tab_6,Tab_7,Tab_8=gg.getValues(Tab_6),gg.getValues(Tab_7),gg.getValues(Tab_8)
for i=1,#Tab_8 do
Tab_CA[Tab_2[i]['value']..';'..Tab_3[i]['value']]=Tab_8[i]['address']
Tab_CA[Tab_6[i]['value']..';'..Tab_7[i]['value']]=Tab_8[i]['address']
end

A=tzz({Tab_CA['-868514831;-790132986'],16,0x28,0})
setv(A+0X18,getv(a))
Tab={}
for i=2,#T do
Tab[#Tab+1]={address=T[i]['address']-T[1]['address']+A,value=T[i]['value'],flags=T[i]['flags']}
end
gg.setValues(Tab)
gg.toast("武魂真身OK")
TTT={ -- table(d7209b7)
	['O2'] = { -- table(30e1524)
		['Public_Client/Battle/EquipInBattle'] = { -- table(548288d)
			[1341] = { -- table(6226a42)
				[1] = { -- table(a138a53)
					['d'] = 36,
					['f'] = 4,
					['v'] = 0,
				},
			},
		},
	},
}

DB={Ca=CAJX,O2=OJX_Str,Q=QJX}
for i , v in pairs(TTT) do
DB[i](v)
end
end
end



--资源检测
local il2cpp=gg.getRangesList("libil2cpp.so")
 for y=1, 5 do
 db=il2cpp[y]['start']
if BaVal(db+0x3f4bd04,4) == "-702611392" then
break
end
end
db=db+0x39207d8
setvalue(db, 4, -763363296,true)
setvalue(db+4, 4, -698416192,true)